User interfaces have traditionally relied on input devices such as keyboards, which require physical manipulation by a user. For instance, traditional human-to-computer interface are based on some form of physical touch, such as depressing keys on a computer keyboard, moving a mouse and clicking a button, moving a joystick, tapping a touch screen, and so forth. This physical type of human-to-computer interface is reliable and precise.
Increasingly, however, it is desired to detect and monitor the physical positions and movements of users within a scene or environment. User motions and gestures can be used in some environments as user commands and inputs to automated systems. In particular, hand gestures may be useful in providing input from a user to a computerized system.
One challenge with recognizing hand gestures is to first recognize that the object in the environment is a hand, i.e., that a hand does indeed exist. Recognizing a hand is more difficult that other objects because the hand is complex with many independently moveable parts that may be observed as infinitely varying shapes, forms, and orientations. There are so many ways to represent a hand.
Traditional feature-based shape matching approaches have been developed for target recognition and classification. Unfortunately, such approaches are neither flexible enough to model multiple appearances of a hand nor accurate enough to match a model to a target with small degrees of visual differences.
Accordingly, there is a need to improve ways to recognize hands to facilitate more accurate gesture detection.